package frames;

import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JButton;

import banco.Banco;

import objetos.Cliente;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.sql.ResultSet;
import java.sql.SQLException;


public class FrameCliente extends JFrame {

	private JPanel contentPane;
	private JTextField textNome;
	private JTextField textSobrenome;
	private JTextField textData;
	private JTextField textCpf;
	private JTextField textCelular;
	private JTextField textTelefone;
	private JTextField textRua;
	private JTextField textNumero;
	private JTextField textBairro;
	private JTextField textCep;
	private JTextField textCidade;
	private JTextField textEstado;

	private JButton btnSalvar;
	
	private Cliente cliente = new Cliente();
	private Banco bd = new Banco();
	private JTextField textSexo;
	private JLabel lblSexo;
	
	private int id;
	

	/**
	 * Launch the application.
	 
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					FrameCliente_Funcionario frame = new FrameCliente_Funcionario();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	
	 * Create the frame.
	 */
	public FrameCliente(final String acao) {		
		setTitle("Cliente");
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		setBounds(0, -11, 329, 622);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JLabel lblNome = new JLabel("Nome:");
		lblNome.setBounds(10, 26, 99, 14);
		contentPane.add(lblNome);
		
		JLabel lblSobrenome = new JLabel("Sobrenome:");
		lblSobrenome.setBounds(10, 66, 99, 14);
		contentPane.add(lblSobrenome);
		
		JLabel lblDataDeNascimento = new JLabel("Data de nasc.:");
		lblDataDeNascimento.setBounds(10, 106, 111, 14);
		contentPane.add(lblDataDeNascimento);
		
		JLabel lblRua = new JLabel("Rua:");
		lblRua.setBounds(10, 306, 99, 14);
		contentPane.add(lblRua);
		
		JLabel lblNmero = new JLabel("N\u00FAmero:");
		lblNmero.setBounds(10, 346, 99, 14);
		contentPane.add(lblNmero);
		
		JLabel lblCpf = new JLabel("CPF:");
		lblCpf.setBounds(10, 186, 68, 14);
		contentPane.add(lblCpf);
		
		JLabel lblCelular = new JLabel("Celular:");
		lblCelular.setBounds(10, 226, 68, 14);
		contentPane.add(lblCelular);
		
		JLabel lblTelefoneResidencial = new JLabel("Telefone Res.:");
		lblTelefoneResidencial.setBounds(10, 266, 111, 14);
		contentPane.add(lblTelefoneResidencial);
		
		JLabel lblCep = new JLabel("Cep:");
		lblCep.setBounds(10, 426, 68, 14);
		contentPane.add(lblCep);
		
		JLabel lblEstado = new JLabel("Estado:");
		lblEstado.setBounds(10, 506, 76, 14);
		contentPane.add(lblEstado);
		
		JLabel lblBairro = new JLabel("Bairro:");
		lblBairro.setBounds(10, 386, 68, 14);
		contentPane.add(lblBairro);
		
		JLabel lblCidade = new JLabel("Cidade:");
		lblCidade.setBounds(10, 466, 76, 14);
		contentPane.add(lblCidade);
		
		textNome = new JTextField();
		textNome.setBounds(119, 23, 177, 20);
		contentPane.add(textNome);
		textNome.setColumns(10);
		
		textSobrenome = new JTextField();
		textSobrenome.setColumns(10);
		textSobrenome.setBounds(119, 63, 177, 20);
		contentPane.add(textSobrenome);
		
		textData = new JTextField();
		textData.setColumns(10);
		textData.setBounds(119, 103, 76, 20);
		contentPane.add(textData);
		
		textCpf = new JTextField();
		textCpf.setColumns(10);
		textCpf.setBounds(119, 183, 76, 20);
		contentPane.add(textCpf);
		
		textCelular = new JTextField();
		textCelular.setColumns(10);
		textCelular.setBounds(119, 223, 76, 20);
		contentPane.add(textCelular);
		
		textTelefone = new JTextField();
		textTelefone.setColumns(10);
		textTelefone.setBounds(119, 263, 76, 20);
		contentPane.add(textTelefone);
		
		textRua = new JTextField();
		textRua.setColumns(10);
		textRua.setBounds(119, 303, 177, 20);
		contentPane.add(textRua);
		
		textNumero = new JTextField();
		textNumero.setColumns(10);
		textNumero.setBounds(119, 343, 76, 20);
		contentPane.add(textNumero);
		
		textBairro = new JTextField();
		textBairro.setColumns(10);
		textBairro.setBounds(119, 383, 177, 20);
		contentPane.add(textBairro);
		
		textCep = new JTextField();
		textCep.setColumns(10);
		textCep.setBounds(119, 423, 76, 20);
		contentPane.add(textCep);
		
		textCidade = new JTextField();
		textCidade.setColumns(10);
		textCidade.setBounds(119, 463, 177, 20);
		contentPane.add(textCidade);
		
		textEstado = new JTextField();
		textEstado.setColumns(10);
		textEstado.setBounds(119, 503, 177, 20);
		contentPane.add(textEstado);
		
		btnSalvar = new JButton("Salvar");
		btnSalvar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				
				try {
					cliente.setNome(textNome.getText());
					cliente.setSobrenome(textSobrenome.getText());
					cliente.setData(textData.getText());
					cliente.setCpf(Integer.parseInt(textCpf.getText()));
					cliente.setCelular(Integer.parseInt(textCelular.getText()));
					cliente.setTelefone(Integer.parseInt(textTelefone.getText()));
					cliente.setRua(textRua.getText());
					cliente.setNumero(textNumero.getText());
					cliente.setBairro(textBairro.getText());
					cliente.setCep(Integer.parseInt(textCep.getText()));
					cliente.setCidade(textCidade.getText());
					cliente.setEstado(textEstado.getText());
					cliente.setSexo(Integer.parseInt(textSexo.getText()));
				}catch (Exception e1){
					JOptionPane.showMessageDialog(null, "Erro ao tentar pegar dos Texts");
				}
				if(acao.contains("novo"))
					bd.novoCliente(cliente);
				
				
				JOptionPane.showMessageDialog(null, "Salvo com sucesso!");
				dispose();				
			}
		});
		btnSalvar.setBounds(106, 550, 89, 23);
		contentPane.add(btnSalvar);
		
		textSexo = new JTextField();
		textSexo.setBounds(119, 143, 76, 20);
		contentPane.add(textSexo);
		textSexo.setColumns(10);
		
		lblSexo = new JLabel("Sexo:");
		lblSexo.setBounds(10, 146, 68, 14);
		contentPane.add(lblSexo);
		
		if(acao.contains("editar")){
						
			try{
				Cliente c = bd.editarCliente(id);
				
				textNome.setText(c.getNome());
				/*
				textSobrenome.setText(rs.getString("sobrenome"));
				textData.setText(rs.getString("data_nascimento"));
				textCpf.setText(rs.getString("cpf"));
				textCelular.setText(rs.getString("celular"));
				textTelefone.setText(rs.getString("telefone"));
				textRua.setText(rs.getString("rua"));
				textNumero.setText(rs.getString("numero"));
				textBairro.setText(rs.getString("bairro"));
				textCep.setText(rs.getString("cep"));
				textCidade.setText(rs.getString("cidade"));
				textEstado.setText(rs.getString("estado"));
				int auxSexo = rs.getInt("sexo");
				
				if(auxSexo == 0)
					textSexo.setText("masculino");
				if(auxSexo == 1)
					textSexo.setText("feminino");
				*/
			}catch(Exception e2){
				System.out.println(e2.getMessage());
			}
			
		}
		
		if(acao.contains("detalhes")){
			textNome.enable(false);
			textSobrenome.enable(false);
			textData.enable(false);
			textCpf.enable(false);
			textCelular.enable(false);
			textTelefone.enable(false);
			textRua.enable(false);
			textNumero.enable(false);
			textBairro.enable(false);
			textCep.enable(false);
			textCidade.enable(false);
			textEstado.enable(false);	
			textSexo.enable(false);
			btnSalvar.setVisible(false);
						
	
			
		}
	}
	public void receberId(int id2) {
		id = id2;		
	}
}
